1. Technical Field of the Invention
This invention relates to an integrated service method for providing end-to-end high quality service on a router, more particularly to a dispatching method in the integrated service.
2. Background of the Invention
Integrated service of conventional router is accomplished by three function modules of the router: admission and control module, classifying module, dispatching module.
Admission and control module is responsible for setting up classifying state table and dispatching queue. When receiving a reservation request, the connecting and founding mechanism examines whether there is enough resource according to the request appointed in the information through admitting control to determine if the call is admitted. If there is enough resource, the call is admitted, and a corresponding classifying term is inserted in the classifying table.
Classifying module is responsible for inserting data package of different streams in different dispatching queue, which is realized by examining the head of the data package.
Dispatching module decides that each stream conforms with its reservation request in the requirement of QoS. The dispatching arithmetic will decide to transmit the next data package of which queue.
In the integrated service, there is best-trying service, load-controllable service and guaranteeing service. The guaranteeing service must guarantee to meet certain requirements in end-to-end delay and link bandwidth. The load-controllable service is not of certain requirements in delay but do be of certain requirements in link bandwidth, and the package loss and delay at certain range is acceptable; best-trying service means the data package in the case of jammed network can be abandoned.
The dispatching arithmetic is established upon fairness and efficiency during the queue-dispatching. Generally, a weight fairness queue (WFQ) is adopted. In WFQ, each port sets up a queue for the data package of each date stream, i.e., if N data streams pass the port, there are N queues at the port. The queues are serviced circularly. The most original WFQ is based on bit stream. Each stream fairly shares the bandwidth of the port according to certain predetermined weight. If rf is the weight of stream f. And Sf (t1, t2) is data quantity when stream f is transmitted in all at [t1, t2]. Then for data stream f and m, lengths of queues both above zero, the equation is:
                              S          f                ⁡                  (                                    t              1                        ,                          t              2                                )                            r        f              -                            S          m                ⁡                  (                                    t              1                        ,                          t              2                                )                            r        m              =  0
In practical application, data is sent by data package but not by bit, thus
For data package dispatching, WFQ makes that
                                S          f                ⁡                  (                                    t              1                        ,                          t              2                                )                            r        f              -                            S          m                ⁡                  (                                    t              1                        ,                          t              2                                )                            r        m              near to be zero. If N data streams are transmitted in system, reserved weight is r1, r2, . . . , rN, Si(t0, t) represents service quantity provided by stream i in (t0,t], and within (t0,t], there are always some overstocked data packages in the stream i,
                                          S            i                    ⁡                      (                                          t                0                            ,              t                        )                                                S            j                    ⁡                      (                                          t                0                            ,              t                        )                              ≥                                    r            i                                r            j                          ⁢                                  ⁢        j              =    1    ,  2  ,  …  ⁢          ,  N
This equation is always available. For all j of the above equation,
                              S          i                ⁡                  (                                    t              0                        ,            t                    )                    ⁢                        ∑          j                                                ⁢                  r          j                      ≥                  r        i            ⁢                        ∑          j                                                ⁢                              S            j                    ⁡                      (                                          t                0                            ,              t                        )                                =                    r        i            ⁡              (                  t          -                      t            0                          )              ⁢    r  
Wherein, r represents total bandwidth. Service bit rate
            S      i        ⁡          (                        t          0                ,        t            )            t    -          t      0      for stream i is no less than the reserved bit rate
            r      i                      ∑        j                                      ⁢              r        j              ⁢      r    .  
WFQ is the weight circular service of the analog bit stream. In one circle, service quantity of each stream is proportional to the weight of each stream. Since sometimes data package can not be provided the service by bit, WFQ dispatches data packages upon the increasing sequence of the departing time thereof logically to enable the analog of bit stream circle. In order to calculate the departing sequence, WFQ further sticks 2 time labels for each data package: a starting label and an ending label. Supposing that pfj and lfj is respectively the jth data package and length of stream f, A(pfj) is arriving time of pfj, the starting label S(pfj) of pfj and ending label F(pfj) is defined as:S(pfj)=max{v(A(pfj)),F(pfj−1)}j≧1
      F    ⁡          (              p        f        j            )        =                    S        ⁡                  (                      p            f            j                    )                    +                                    l            f            j                                r            f                          ⁢                                  ⁢        j              ≥    1  
Wherein F(pf0)=0. v(t) means that which circle is processed at moment t in the case of simple bit stream. WFQ dispatches data package according to size of the ending label.
The process of realizing WFQ comprises: calculating the starting label and the ending label of the data package, entering the corresponding queue, recording the ending label of the last data package of each data stream in the classifying table. When there enters the jth data package of a data stream, the ending label of the j−1th data package is gotten by classifying, and the starting label and the ending label of the jth data package can be calculated accordingly. pfj is added to the end of the queue corresponding to the stream f. Since F(pfj−1)<F(pfj), the queue corresponding to each stream is sequenced according to size of the ending label. When a dispatch is output, at each port, the data package with the minimum value of ending label is found from head element of all queues to send.
The dispatching method of WFQ is common in achieving quality of service (QoS) of router, also recommended by IETF, when achieving integrated service, it is adopted by many manufacturers, but as WFQ is used in integrated service, these three service queues including the best-trying service, the load-controllable service and the guaranteeing service are processed in a same way, what is used to determine the standard to send data package is the value of ending label of the head element of all queues. In fact, the broader the bandwidth is, the better the best-trying service and the load-controllable service are; the requested bandwidth is calculated upon the end-to-end delay to meet the requirement. If the ending label of some head elements of guaranteeing service queues reaches the minimum at some moment, even if it does not reach the predefined delay, the element will be sent and occupy certain bandwidth of the port.